home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 4 / Apprentice-Release4.iso / Demos / AppMaker 2.0b3 / Demo AppMaker 1.5 / Demo AppMaker™ / Demo AppMaker™.rsrc / TmpP_108_ModelessDialog < prev    next >
Encoding:
Text File  |  1992-04-08  |  2.5 KB  |  136 lines

  1. { %filename% -- modeless dialog }
  2. { Created %date% %time% by AppMaker }
  3.  
  4. Unit %unitname%;
  5. Interface
  6.  
  7. Uses
  8.     %if lang = MPW%
  9.         Types,
  10.         Quickdraw,
  11.         Controls,
  12.         Dialogs,
  13.         Events,
  14.         Lists,
  15.         Menus,
  16.         StandardFile,
  17.         TextEdit,
  18.  
  19.     %end if%
  20.     ResourceDefs,
  21.     Miscellany,
  22.     WindowAids,
  23.     DialogAids;
  24.  
  25. type
  26.     %dlogname%Rec        = record
  27.         %for each item gen dialog field%
  28.  
  29.         %if not haveField%
  30.             dummy:        integer;
  31.         %endif%
  32.     end;
  33.     %dlogname%RecPtr    = ^%dlogname%Rec;
  34.     
  35. var
  36.     %dlogname%Dialog:    DialogPtr;
  37.  
  38. {----------}
  39. Procedure Init%dlogname%;
  40. Procedure Do%dlogname%;
  41. Procedure Close%dlogname%;
  42. Function  Filter%dlogname%%    %(whichDialog:    DialogPtr;
  43.                          var event:            EventRecord;
  44.                          var itemHit:        integer): boolean;
  45. Procedure Do%dlogname%Item    (itemNr:        integer);
  46.  
  47. {----------}
  48. Implementation
  49.  
  50. %if lang = MPW%
  51.     {$D+}
  52.     {$R+}
  53.     {$OV+}
  54.     {$S %unitname%}
  55.  
  56. %end if%
  57. const
  58.     %for each item gen itemNr%
  59.  
  60. %push needsRefCon%
  61. %for each item gen auxiliary%
  62. {----------}
  63. Procedure Init%dlogname%;
  64. var
  65.     theDialog:            DialogPtr;
  66.     %dlogname%Data:%    %%dlogname%RecPtr;
  67. Begin
  68.     %dlogname%Dialog := GetNewDialog (%dlogname%ID, nil, pointer (-1));
  69.     theDialog := %dlogname%Dialog;
  70.     SetPort (theDialog);
  71.     %dlogname%Data := %dlogname%RecPtr (NewPtr (sizeof (%dlogname%Rec)));
  72.     SetWRefCon (theDialog, longint (%dlogname%Data));
  73.     with %dlogname%Data^ do begin
  74.         %for each item gen init field%
  75.  
  76.         %for each item gen set%
  77.  
  78.         %for each item gen enable%
  79.  
  80.     end; {with}
  81. End; {Init%dlogname%}
  82.  
  83. {----------}
  84. Procedure Do%dlogname%;
  85. Begin
  86.     if %dlogname%Dialog <> nil then begin
  87.         SelectWindow (%dlogname%Dialog);
  88.         ShowWindow (%dlogname%Dialog);
  89.     end;
  90. End; {Do%dlogname%}
  91.  
  92. {----------}
  93. Procedure Close%dlogname%;
  94. Begin
  95.     HideWindow (%dlogname%Dialog);
  96. End; {Close%dlogname%}
  97.  
  98. {----------}
  99. Function Filter%dlogname%%    %(whichDialog:    DialogPtr;
  100.                           var event:        EventRecord;
  101.                           var itemHit:        integer): boolean;
  102. var
  103.     filtered:        boolean;
  104.     data:            %dlogname%RecPtr;
  105. Begin
  106.     filtered := false;
  107.     %for each item gen filter%
  108.  
  109.     if not filtered then begin
  110.         filtered := StandardFilter (whichDialog, event, itemHit);
  111.     end;
  112.     Filter%dlogname% := filtered;
  113. End; {Filter%dlogname%}
  114.  
  115. {----------}
  116. Procedure Do%dlogname%Item    (itemNr:    integer);
  117. var
  118.     theDialog:            DialogPtr;
  119.     %dlogname%Data:%    %%dlogname%RecPtr;
  120. Begin
  121.     theDialog := %dlogname%Dialog;
  122.     SetPort (theDialog);
  123.     %dlogname%Data := %dlogname%RecPtr (GetWRefCon (theDialog));
  124.     with %dlogname%Data^ do begin
  125.         case itemNr of
  126.             %for each item gen hit%
  127.  
  128.         end; {case}
  129.         %for each item gen enable%
  130.  
  131.     end; {with}
  132. End; {Do%dlogname%Item}
  133.  
  134. End. {%unitname%}
  135. %pop needsRefCon%
  136.